package br.com.sjdr.projeto.gui;


import java.awt.event.*;

import javax.swing.*;

import br.com.sjdr.projeto.pessoa.Cliente;

/**
 *Classe responsavel pela GUI da classe Cliente
 * @author dante
 * 
 */
public class GuiCliente {
	
	static JFrame novoCli = new JFrame("SJDR CONFEC��ES - CADASTRAR CLIENTE - ");
	static JFrame novoCliSenha = new JFrame("SJDR CONFEC��ES - CADASTRAR COMPRADOR - ");
	static JFrame buscarCli = new JFrame("SJDR CONFEC��ES - BUSCAR CLIENTE - ");
	static JFrame excluirCli = new JFrame("SJDR CONFEC��ES - EXCLUIR CLIENTE - ");
	static JFrame listagemCli = new JFrame("SJDR CONFEC��ES - LISTAGEM CLIENTE - ");
	
	
	
	static JLabel nome = new JLabel("Nome:");  
	static JLabel endereco = new JLabel("Endereco:");
	static JLabel tel = new JLabel("Telefone:");
	static JLabel cpf = new JLabel("CPF:");
	static JLabel senha = new JLabel("Senha:");
	

	static JTextField campoNome = new JTextField(20); 
	static JTextField campoEnd = new JTextField(20);
	static JTextField campotel = new JTextField(20);
	static JTextField campoCpf = new JTextField(20);
	static JTextField campomsg = new JTextField(20);
	static JTextField camposenha = new JTextField(20);
	
	static JTextArea resultado = new JTextArea(30,40);
	static JScrollPane scroller = new JScrollPane(resultado);
	static JPanel panel = new JPanel(); 
	static JLabel titulo = new JLabel();
	static JButton voltar = new JButton("Voltar");
	

	/**
	 * metodo responsavel pela GUI da metodo novoCliente()
	 * @author dante
	 */
	public static void volta(JFrame atual){
		
		atual.setVisible(false);
	}
	public static void guiNovoCliente() { 
	
		novoCli.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
		novoCli.setSize(490,300);
		novoCli.setVisible(true);
		novoCli.setLayout(null);
		novoCli.setResizable(false);
		centraliza(novoCli);
		
		JButton botaoCadastrar = new JButton("Cadastrar"); 
		
		
		botaoCadastrar.setSize(130,20); 
		botaoCadastrar.setLocation(190,215);
		voltar.setSize(100, 20);
		voltar.setLocation(0, 0);
		
			
		
		campoNome.setText("");   
		campoEnd.setText("");
		campotel.setText("");
		campoCpf.setText("");
		campomsg.setText("");
		titulo.setText("Complete os campos abaixo para cadastrar um novo cliente.");
		titulo.setSize(480, 40);
		titulo.setLocation(30, 20);
		
		nome.setSize(80,20); 
		nome.setLocation(50,80);
		endereco.setSize(80,20);
		endereco.setLocation(50,110);
		tel.setSize(80,20);
		tel.setLocation(50,140);
		cpf.setSize(80,20);
		cpf.setLocation(50,170);
		
		
		campoNome.setSize(250,20); 
		campoNome.setLocation(130,80);
		campoEnd.setSize(250,20);
		campoEnd.setLocation(130,110);
		campotel.setSize(250,20);
		campotel.setLocation(130,140);
		campoCpf.setSize(250,20);
		campoCpf.setLocation(130,170);
		campomsg.setSize(250,20);
		campomsg.setLocation(130,250);
		
		novoCli.getContentPane().add(voltar);
		novoCli.getContentPane().add(titulo);
		novoCli.getContentPane().add(nome); 
		novoCli.getContentPane().add(campoNome);
		novoCli.getContentPane().add(endereco);
		novoCli.getContentPane().add(campoEnd);
		novoCli.getContentPane().add(tel);
		novoCli.getContentPane().add(campotel);
		novoCli.getContentPane().add(cpf);
		novoCli.getContentPane().add(campoCpf);
		
		novoCli.getContentPane().add(campomsg);
		novoCli.getContentPane().add(botaoCadastrar);
		
		voltar.addActionListener(	
				new ActionListener(){
					public void actionPerformed(ActionEvent arg1) {
					campoNome.setText("");
					campoEnd.setText("");
					campotel.setText("");
					campoCpf.setText("");
					campomsg.setText("");
					volta(novoCli);
					}
				});	
		
		botaoCadastrar.addActionListener(	
				new ActionListener(){
					public void actionPerformed(ActionEvent arg1) {
					
					Cliente.novoCliente(campoNome, campoEnd, campotel, campoCpf, campomsg);
					}
				});	
	}
	
	
	
	
	public static void guiBuscarCliente() { 
		
		buscarCli.setSize(600,600);
		buscarCli.setVisible(true);
		buscarCli.setLayout(null);
		buscarCli.setResizable(false);
		centraliza(buscarCli);
		
		JButton botaoBuscar = new JButton("Buscar"); 
		
		botaoBuscar.setSize(130,20); 
		botaoBuscar.setLocation(390,80);
		
		titulo.setText("Complete o campo abaixo para buscar um cliente.");
		titulo.setSize(480, 40);
		titulo.setLocation(50, 20);
		
		nome.setSize(80,20);
		nome.setLocation(50,80);
		campoNome.setText("");
		resultado.setText("");
		campoNome.setSize(250,20); 
		campoNome.setLocation(130,80);
		
		resultado.setLineWrap(true); 
		scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
		panel.add(scroller);
		
		panel.setSize(500,700); 
		panel.setLocation(42,120);
		
		buscarCli.getContentPane().add(voltar);
		buscarCli.getContentPane().add(titulo);
		buscarCli.getContentPane().add(nome);
		buscarCli.getContentPane().add(campoNome);
		buscarCli.getContentPane().add(botaoBuscar);
		buscarCli.getContentPane().add(panel); 
		
		voltar.addActionListener(	
				new ActionListener(){
					public void actionPerformed(ActionEvent arg1) {
					
					volta(buscarCli);
					}
				});	
		
		botaoBuscar.addActionListener(
				new ActionListener(){
					public void actionPerformed(ActionEvent arg2) {
					resultado.setText("");	
					Cliente.buscarCliente(campoNome, resultado);
					}
				});	
		}
	/**
	 * metodo responsavel pela GUI da metodo excluirCliente()
	 * @author dante
	 */
		public static void guiExcluirCliente() { 
		JButton botaoBuscar = new JButton("Buscar");
		JButton botaoExcluir = new JButton("Excluir"); 
		
		excluirCli.setSize(600,600);
		excluirCli.setVisible(true);
		excluirCli.setLayout(null);
		excluirCli.setResizable(false);
		centraliza(excluirCli);
		
		botaoBuscar.setSize(130,20); 
		botaoBuscar.setLocation(390,80);
		botaoExcluir.setSize(130,20); 
		botaoExcluir.setLocation(250,550);
		
		
				
		
		nome.setSize(80,20);
		nome.setLocation(50,60);
		titulo.setText("Complete o campo abaixo para excluir um cliente.");
		titulo.setSize(480, 40);
		titulo.setLocation(30, 20);
		campoNome.setText("");
		resultado.setText("");
		campoNome.setSize(250,20); 
		campoNome.setLocation(130,60);
		
		resultado.setLineWrap(true); 
		scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
		panel.add(scroller);
		
		panel.setSize(500,700); 
		panel.setLocation(42,90);
		
		excluirCli.getContentPane().add(voltar);
		excluirCli.getContentPane().add(titulo);
		excluirCli.getContentPane().add(nome);
		excluirCli.getContentPane().add(campoNome);
		excluirCli.getContentPane().add(botaoBuscar);
		excluirCli.getContentPane().add(botaoExcluir);
		excluirCli.getContentPane().add(panel); 
		
		voltar.addActionListener(	
				new ActionListener(){
					public void actionPerformed(ActionEvent arg1) {
					
					volta(excluirCli);
					}
				});	
				
		botaoBuscar.addActionListener(
				new ActionListener(){
					public void actionPerformed(ActionEvent arg3) {
					resultado.setText("");	
					Cliente.buscarCliente(campoNome, resultado);
					}
				});	
		
		botaoExcluir.addActionListener(
				new ActionListener(){
					public void actionPerformed(ActionEvent arg4) {
					resultado.setText("");	
					Cliente.excluirCliente(campoNome, resultado);
					}
				});	
		
	}
	/**
	 * metodo responsavel pela GUI da metodo listagemCliente()
	 * @author dante
	 */
	public static void guiListagemCliente() { 
		
		listagemCli.setSize(600,600);
		listagemCli.setVisible(true);
		listagemCli.setLayout(null);
		listagemCli.setResizable(false);
		centraliza(listagemCli);
		
		voltar.setLocation(0, 0);
		titulo.setText("Listagem completa de clientes cadastrados.");
		titulo.setSize(480, 40);
		titulo.setLocation(30,20);
		resultado.setText("");
		listagemCli.add(titulo);
		resultado.setLineWrap(true);
		scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
		panel.add(scroller);
		
		panel.setSize(500,600); 
		panel.setLocation(25,60);
		listagemCli.getContentPane().add(voltar);
		listagemCli.getContentPane().add(panel); 
		
		voltar.addActionListener(	
				new ActionListener(){
					public void actionPerformed(ActionEvent arg1) {
					
					volta(listagemCli);
					}
				});	
		
		resultado.setText("");	
		Cliente.listagemCliente(resultado);
	}
	
	public static void centraliza(JFrame frame){
	
		java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
		int componentWidth = frame.getWidth();
		int componentHeight = frame.getHeight();
		frame.setBounds((screenSize.width - componentWidth) / 2,(screenSize.height - componentHeight) / 4, componentWidth,componentHeight);
	}
}